본문으로 건너뛰기

Q. Promise란 무엇인가요?

🧑🏻‍💻 Answer.


✅ 등장 배경과 정의

  • 비동기 함수의 경우 내부의 비동기로 동작하는 코드에서 처리한 결과를 외부로 반환하거나 상위 스코프의 변수에 할당하여 사용할 수 없습니다.

  • 따라서 비동기 함수의 처리 결과에 대한 후속 처리 및 에러 관리를 비동기 함수 내부에서 수행해야 합니다.

  • 이때 사용되는 것이 콜백 함수인데, 후속 처리 후 또다시 비동기 함수를 호출해야 한다면 호출이 중첩되어 복잡도가 높아지는 콜백 지옥 현상이 발생하고 에러 처리도 힘들어집니다.

  • 이렇게 콜백 패턴으로 인해 나타나는 콜백 지옥 현상과 에러 처리 한계를 해결하고자 ES6부터 비동기 처리를 위한 하나의 패턴으로 Promise가 도입되었습니다.

  • Promise를 활용하면 비동기 처리 시점을 명확하게 해줄 수 있습니다.